#include "io_input.h"

//~~~~~~~~~~~~~~~~~~key1 EXTI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static struct io_input_gpio io_input1=
{
    {
        2,RCC_APB2RSTR_IOPERST_Pos,
    },
    {
        EXTI3_IRQn,0,0,
    },
    {
        GPIOE_BASE,3,GPIO_MODE_IT_RISING,GPIO_SPEED_FREQ_HIGH,GPIO_NOPULL,
    },
    0,1,
};
struct io_input_device_data io_input_dev_data1={
    &io_input1,
    1,
};

static struct device io_input1_device={
    "/dev/io_input",
    "io_input",
     0,
    NULL,
    (sj_void *)&io_input_dev_data1,
};

static DEVICE_MODULE_INIT(io_input1_device)

//~~~~~~~~~~~~~~~~~~~key0 EXTI~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static struct io_input_gpio io_input0=
{
    {
        2,RCC_APB2RSTR_IOPERST_Pos,
    },
    {
        EXTI4_IRQn,0,0,
    },
    {
        GPIOE_BASE,4,GPIO_MODE_IT_RISING,GPIO_SPEED_FREQ_HIGH,GPIO_NOPULL,
    },
    0,1,
};
struct io_input_device_data io_input_dev_data0={
    &io_input0,
    1,
};

static struct device io_input0_device={
    "/dev/io_input",
    "io_input",
     0,
    NULL,
    (sj_void *)&io_input_dev_data0,
};

static DEVICE_MODULE_INIT(io_input0_device)
//~~~~~~~~~~~~~~~~~~~~~~~key2 EXTI~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static struct io_input_gpio io_input2=
{
    {
        2,RCC_APB2RSTR_IOPARST_Pos,
    },
    {
        EXTI0_IRQn,0,0,
    },
    {
        GPIOA_BASE,0,GPIO_MODE_IT_FALLING,GPIO_SPEED_FREQ_HIGH,GPIO_NOPULL,
    },
    0,1,
};
struct io_input_device_data io_input_dev_data2={
    &io_input2,
    1,
};

static struct device io_input2_device={
    "/dev/io_input",
    "io_input",
     0,
    NULL,
    (sj_void *)&io_input_dev_data2,
};

static DEVICE_MODULE_INIT(io_input2_device)
